package br.edu.ifpb.ifpbmesseger.classes;

import java.util.ArrayList;

public class Pessoa {
	private String nome;
	private String email;
	private String senha;
	private ArrayList<Mensagem> mensagensIN = new ArrayList<Mensagem>();
	private ArrayList<Mensagem> mensagensOUT = new ArrayList<Mensagem>();
	
	public Pessoa(String nome, String email, String senha){
		this.nome = nome.toLowerCase();
		this.email = email;
		this.senha = senha;
	}
	
	
	//---------------- RELACIONAMENTO COM MENSAGEM IN ------------------
	//------------------------------------------------------------------
	
	public void adicionarMensagemIn(Mensagem sms){
		this.mensagensIN.add(sms);
	}
	
	public ArrayList<Mensagem> obterMensagensIn(){
		return this.mensagensIN;
	}
	
	public int obterTotalMensagemIn(){
		return this.mensagensIN.size();
	}

	//---------------- RELACIONAMENTO COM MENSAGEM OUT ------------------
	//-------------------------------------------------------------------
	
	public void adicionarMensagemOut(Mensagem sms){
		this.mensagensOUT.add(sms);
	}
	
	
	public ArrayList<Mensagem> obterMensagensOut(){
		return this.mensagensOUT;
	}
	
	public int obterTotalMensagemOut(){
		return this.mensagensOUT.size();
	}
	
	//----------------------------------------------------------
	//----------------------------------------------------------
	
	public Mensagem buscaMensagem(int id){
		for(Mensagem sms: mensagensIN){
			if(sms.getId() == id){
				return sms;
			}
		}
		for(Mensagem sms: mensagensOUT){
			if(sms.getId() == id){
				return sms;
			}
		}
		return null;
	}
	
	/**
	 * @return the nome
	 */
	public String getNome() {
		return nome;
	}

	/**
	 * @param nome the nome to set
	 */
	public void setNome(String nome) {
		this.nome = nome;
	}

	/**
	 * @return the email
	 */
	public String getEmail() {
		return this.email;
	}

	/**
	 * @param email the email to set
	 */
	public void setEmail(String email) {
		this.email = email;
	}

	/**
	 * @return the senha
	 */
	public String getSenha() {
		return senha;
	}

	/**
	 * @param senha the senha to set
	 */
	public void setSenha(String senha) {
		this.senha = senha;
	}


	/* (non-Javadoc)
	 * @see java.lang.Object#toString()
	 */
	@Override
	public String toString() {
		String texto = "\n\nNome: " + this.getNome() + " Email: " + this.getEmail() +
		"\nTotal de SMS Envidas: " + this.obterTotalMensagemOut() +
		"\nTotal de SMS Recebidas: " + this.obterTotalMensagemIn();
		
		return texto;
		
	}
	
	
	
}
